בהוראה: הפעולה new מקצה זיכרון עבור עצם בשם s1 המפנה לזיכרון שהוקצה. במקרה זה העצם s1. System.out.println("Enter two numbers:"); String s1;

Size: px
Start display at page:

Download "בהוראה: הפעולה new מקצה זיכרון עבור עצם בשם s1 המפנה לזיכרון שהוקצה. במקרה זה העצם s1. System.out.println("Enter two numbers:"); String s1;"

Transcription

1 פרק 9 המחלקה מחרוזת (String) בתוכניות שכתבנו עד כה השתמשנו בטיפוסים שונים המוגדרים בשפת :Java שלם, ממשי, תווי ובוליאני. יכולנו להגדיר משתנים מטיפוסים אלו ולבצע עליהם פעולות שונות (קלט, פלט, חישובים וכו'). עם זאת מרבית התוכניות שכתבנו התייחסו גם למחרוזות, סדרות של תווים. עד עתה השתמשנו במחרוזות כאשר רצינו להדפיס הודעות למשתמש ותחמנו אותן בגרשיים, למשל בהוראה: System.out.println("Enter two numbers:"); ההודעה numbers:" "Enter two היא מחרוזת. הנה דוגמאות נוספות למחרוזות בשפת,"J","453","Hello, How Are You?" :Java "" (האחרונה היא מחרוזת ריקה, שאינה מכילה אף תו). בנוסף להדפסה נרצה לעתים להפעיל על מחרוזות פעולות נוספות. בפרק זה נראה כיצד ניתן לקלוט מחרוזות מהמשתמש, ולעבד אותן. אם עד עתה קלטנו מספרים או תווים בודדים בלבד, עכשיו נוכל לבקש מהמשתמש להקיש את שמו, את כתובתו וכדומה ולבצע פעולות שונות על המחרוזות הנקלטות. 9.1 היכרות ראשונית עם המחלקה String מחלקה (class) מגדירה טיפוס חדש, ועצם (object) הוא משתנה מהטיפוס. עצם אינו משתנה פשוט כמו int או כמו char אלא מופע (instance) של מחלקה שאפשר להפעיל עליו פעולות המוגדרות במחלקה. בשפת Java מוגדרת מחלקה בשם String (מחרוזת). הצהרה על משתנה מטיפוס מחרוזת מתבצעת כך: String s1; אמנם הצהרה על עצמים דומה להצהרה על משתנים מטיפוסים רגילים. אבל בשונה ממשתנים מטיפוסים רגילים, עלינו ליצור עצמים. יצירת עצם כוללת הקצאת שטח בזיכרון עבור העצם ואת אתחולו. עבור משתנים רגילים, הקצאת מקום בזיכרון נעשית אוטומטית עם ההצהרה עליהם ואילו עבור עצמים הקצאת הזיכרון והאתחול מתבצעים באמצעות הפעולה,new למשל כך: s1 = new String(); הפעולה new מקצה זיכרון עבור עצם בשם s1 המפנה לזיכרון שהוקצה. במקרה זה העצם s1 מאותחל במחרוזת ריקה "". אם נרצה לאתחל את העצם בערך כלשהו, נוכל לעשות זאת בציון הערך הרצוי בזמן היצירה, למשל כך: s1 = new String("abc"); כעת העצם s1 מפנה לשטח בזיכרון המכיל את המחרוזת."abc" מכיוון שהשימוש במחרוזות נפוץ כל כך, שפת Java מאפשרת ליצור מחרוזת ולאתחל אותה בצורה ישירה ללא שימוש בפעולה.new למשל, כך: s1 = "xyz"; יצירת מחרוזת בצורה זו מקצה זיכרון עבור המחרוזת s1, ומאתחל אותה ב-" xyz "

2 בדומה למשתנים פשוטים, אפשר לאחד את ההצהרה ואת היצירה כך: או כך: String s1 = new String("hello"); בהמשך הפרק נכיר פעולות שונות שאפשר לבצע על עצמים מטיפוס.String String s2 = "good morning"; בשפת Java מחרוזת היא עצם של המחלקה.String הצהרה על מחרוזות מתבצעת באופן דומה להצהרה על משתנים רגילים, למשל: כדי שניתן יהיה להשתמש בעצם מהמחלקה מחרוזת, יש ליצור את העצם. כוללת הקצאת שטח בזיכרון ואתחול העצם. במקרה של עצם מסוג,String אפשר ליצור אותו באמצעות הפעולה :new או באמצעות השמה פשוטה של סדרת תווים בגרשיים: String s1; יצירת העצם String s1 = new String("hello"); String s2 = "good morning"; בעיה 1 מטרת הבעיה ופתרונה: הצגת קלט של מחרוזת. פתחו וישמו אלגוריתם שיקבל כקלט את שמכם ויציג is: Your name ומיד שנקלט. אחר כך את השם חירת משתנים? ב באיזה טיפוס נשתמש כדי לשמור את השם שנקלט? כיוון שעלינו לקלוט מילה נשתמש במחלקה מחרוזת. אם כך רשימת המשתנים תכלול את העצם name מהמחלקה מחרוזת. האלגוריתם: name-á úæåøçî èåì "Your name is: " èìôë âöä name úà èìôë âöä יישום האלגוריתם עד כה ראינו כיצד לקלוט ערכים מטיפוסים פשוטים שלמים, ממשיים ותווים. קליטת מחרוזת נעשית בצורה דומה. את הוראה 1 נוכל לממש במשפטים: Scanner in = new Scanner(System.in); name = in.nextline(); הפעולה nextline קולטת את כל התווים עד סוף השורה ומחזירה עצם מסוג מחרוזת. למשל אם המשתמש הקליד: my name is Moshe - 2 -

3 העצם name יכיל את המחרוזת: Moshe" "my name is התוכנית המלאה /* הנקלט כמחרוזת שם, קלט: מלווה בהודעה מקדימה */ השם, פלט: import java.util.scanner; public class YourName public static void main (String [] args) name; String // עצם מהמחלקה מחרוזת הצהרה על Scanner in = new Scanner(System.in); הקצאת מקום בזיכרון // + הוראת קלט System.out.print("Enter your name: "); name = in.nextline(); פלט // System.out.println("your name is: " + name); } // main } // class YourName שימו : כמו פעולות קלט לערכים מטיפוסים פשוטים, גם פעולת קלט למחרוזת היא למעשה פעולה המחזירה את הערך הנקלט. הפעולה קולטת מחרוזת מהקלט, ויוצרת עצם חדש מהמחלקה מחרוזת. פעולת הקלט מקצה עבורו מקום בזיכרון ושומרת בו את מחרוזת הקלט. הפעולה in.nextline מחזירה הפניה למחרוזת החדשה שהוקצתה. בעת ביצוע ההוראה: name = in.nextline(); אנו מבצעים השמה של המחרוזת הנקלטת במשתנה.name בעקבות ההשמה מ פ נ ה name אל אותו שטח זיכרון שהוקצה על ידי פעולת הקלט ולכן אין צורך להקצות במפורש שטח זיכרון עבור העצם.name פתרון בעיה סוף 1 בפתרון בעיה 1 הראינו כיצד קולטים מחרוזת באמצעות הפעולה nextline של המחלקה.Scanner פעולה זו קולטת מהמשתמש מחרוזת המסתיימת בסוף השורה. קיימת פעולה נוספת בשם next הקולטת מחרוזת-חלקית שסופה מצוין ברווח הראשון שהמשתמש מקליד. למשל כתוצאה מביצוע ההוראה הבאה: אם המשתמש מקליד: name = in.next(); העצם name יכיל את המחרוזת:."Moshe" תסתיים בסוף השורה. Moshe Cohen במקרה שהקלט לא כולל תו רווח, המחרוזת ניתן לקלוט מחרוזת באמצעות הפעולות in.nextline או.in.next שטח בזיכרון עבור המחרוזת החדשה. פעולות הקלט מקצות - 3 -

4 9.2 ביצוע פעולות על מחרוזות כדי לבצע פעולות על עצמים יש לרשום את שם העצם, אחריו את סימן הנקודה ולאחר מכן את שם הפעולה. למשל, כדי להגריל מספר הפעלנו את הפעולה nextint על עצם מסוג Random כך: Random rnd = new Random(); int num; num = rnd.nextint(100); במקרה זה הפעולה nextint מחזירה מספר אקראי בין 0 ל- 99 הנשמר במשתנה.num באופן דומה, אפשר להפעיל פעולות שונות על עצמים מסוג מחרוזת. אחת הפעולות המוגדרות עבור מחרוזות היא הפעולה,length המחזירה את אורך המחרוזת שעליה היא מופעלת. למשל, כדי לשמור את אורך המחרוזת s1 במשתנה len נוכל לכתוב: int len; len = s1.length(); הסוגריים שאחרי שם הפעולה נועדו להעברת ערכים (פרמטרים) שהפעולה נזקקת להם. במקרה של הפעולה length אין צורך בהעברת פרמטרים ולכן הסוגריים נותרים ריקים. בהמשך הפרק נכיר פעולות נוספות אשר מצפות לקבל פרמטרים לצורך הפעלתן. בעיה 2 length מטרת הבעיה ו- charat. ופתרונה: הדגמת השימוש בפעולות של מחרוזות. הכרת הפעולות? פתחו וישמו אלגוריתם אשר יקבל כקלט מחרוזת. אם אורך המחרוזת הוא זוגי יוצג כפלט התו הראשון במחרוזת ואם אורך המחרוזת הוא אי-זוגי יוצג התו האחרון במחרוזת. למשל, עבור הקלט shalom יוצג התו: 's'. ועבור הקלט dog יוצג התו: 'g'. שימו : בשפת Java מיקום התווים במחרוזת מתחיל ב- 0. כלומר, התו הראשון במחרוזת נמצא במקום 0, התו השני במחרוזת הוא במקום 1, השלישי במקום 2 וכן הלאה. אם התו הראשון נמצא במקום 0, באיזה מקום נמצא התו האחרון? נתבונן למשל במחרוזת "abcd" שאורכה 4. התו האחרון בה הוא 'd' והוא נמצא במקום 3. מיקום התווים במחרוזת מתחיל ב- 0. בכל מחרוזת, אם נסמן את אורך המחרוזת ב- len אז התו האחרון במחרוזת נמצא במקום.len-1 בחירת משתנים נשתמש במשתנים הבאים: str עצם מהמחלקה מחרוזת char האות המבוקשת, מטיפוס letter len לשמירת אורך המחרוזת, מטיפוס שלם - 4 -

5 str-á 0 str-á len-1 str-á úæåøçî èåì len-á str úæåøçîä ìù äëøåà úà íùä éâåæ len íà íå îá àöîðä åúä úà letter-á íùä 3.1 úøçà íå îá àöîðä åúä úà letter-á íùä 4.1 letter ìù åëøò úà èìôë âöä האלגוריתם יישום האלגוריתם כדי לבדוק את אורכה של המחרוזת נשתמש בפעולה,length באיזו פעולה נשתמש כדי לדעת מהו התו שנמצא במקום מסוים במחרוזת?.charAt(k) פעולה זו במחלקה מחרוזת מוגדרות פעולות נוספות ואחת מהן היא הפעולה מקבלת כפרמטר (בתוך הסוגריים) מספר שלם k, ומחזירה את התו שנמצא במקום ה- k במחרוזת str במחרוזת 0 כדי לדעת מהו התו שנמצא במקום שעליה הופעלה הפעולה. לכן למשל נכתוב: letter = str.charat(0) שימו : השתמשנו פעמים רבות בפעולה זו כאשר קלטנו תו יחיד. למעשה קלטנו מחרוזת וחילצנו ממנה את התו הראשון (התו שנמצא במקום האפס).? התוכנית המלאה /* קלט: מחרוזת פלט: התו הראשון או האחרון במחרוזת, בהתאם לאורכה (זוגי או אי-זוגי ( */ import java.util.scanner; public class IsEven public static void main (String[] args) String str; int len; char letter; Scanner in = new Scanner(System.in); System.out.print("Enter a string: "); str = in.nextline(); len = str.length(); if (len % 2 == 0) letter = str.charat(0); else letter = str.charat(len - 1); System.out.println("The letter is " + letter); } // main } // class IsEven סוף פתרון בעיה 2-5 -

6 בסוף הפרק תוכלו למצוא טבלה המפרטת את הפעולות השכיחות המוגדרות ב- Java עבור עצמים מהמחלקה.String העמודה הימנית בטבלת הפעולות מתארת את שם הפעולה ואת רשימת הפרמטרים שהיא מצפה לקבל (בתוך סוגריים). כפי שראינו זה עתה, הפעולה הראשונה בטבלה length אינה מצפה לקבל ערך כלשהו, ולכן הסוגריים ריקים. לעומתה, הפעולה השנייה charat מצפה לקבל פרמטר אחד מטיפוס שלם. הפעולה השלישית indexof מצפה לקבל עצם מהמחלקה מחרוזת או לקבל תו. העמודה השלישית מתארת את טיפוס הערך המוחזר כתוצאה מהפעלת הפעולה. בדומה לפעולות המתמטיות שלמדנו בפרק 4, גם כאן יש לשים לב לטיפוס הערך המוחזר ולוודא התאמה בינו ובין הפעולות שנבצע עליו. כלומר כאשר נשים בתוך משתנה ערך שמוחזר מפעולה, עלינו לוודא התאמה בין טיפוס הערך המוחזר לטיפוס המשתנה שההשמה תתבצע בו. מחלקות מגדירות אוסף של פעולות שאפשר הפעלת פעולה נכתבת כך (משמאל לימין): להפעיל על עצמים מהמחלקה. (פרמטרים)שם הפעולה.שם העצם יש לבדוק היטב בתיאור הפעולה אילו ערכים היא מצפה לקבל ומה טיפוס הערך שהיא מחזירה. שאלה 9.1 פתחו וישמו אלגוריתם שמקבל כקלט רשימה של 100 מחרוזות. האלגוריתם מחשב בכמה מחרוזות מתוך ה- 100 התו הראשון שווה לתו האחרון, ומציג את הערך שחישב. שאלה 9.2 פתחו אלגוריתם שיקבל כקלט מחרוזת ותו. פלט האלגוריתם יהיה מספר ההופעות של התו הנתון בתוך המחרוזת הנתונה. ישמו את האלגוריתם בשפת.Java הדרכה: מאחר שניתן לברר את אורך המחרוזת הנתונה ניתן להשתמש בהוראה לביצוע-חוזר שמספר הסיבובים בה ידוע מראש (לולאת.(for בעיה 3,String מטרת הבעיה ופתרונה: מחרוזות בתבנית מנייה. הדגמת השימוש בפעולה להשוואת מחרוזת במחלקה ושילוב בסיום בחינות הקבלה למקהלת הזמר העירונית יוצא הבוחן הראשי וקורא את רשימת המועמדים שהתקבלו על פי סדר הא"ב. מועמד אשר שומע את שמו יודע כי התקבל ללהקה. מועמד ששמו עדיין לא נקרא, אשר שומע שם אחר שמופיע אחריו בסדר הא"ב, יודע כי לא התקבל ללהקה. פתחו אלגוריתם אשר הקלט שלו הוא שם מועמד, ולאחר מכן רשימת שמות שקורא הבוחן על פי סדר הא"ב. פלט האלגוריתם הוא אם המועמד התקבל, ומספר השמות שהיה עליו לשמוע לפני שהגיע למסקנה אם התקבל או לא. ישמו את האלגוריתם בשפת.Java - 6 -

7 פירוק הבעיה לתת-משימות למעשה האלגוריתם צריך להשוות מחרוזות ובנוסף לבצע מנייה. אלגוריתם זה דומה לאלגוריתמים שפיתחנו בפרקים קודמים. אם כך, נפרק את הבעיה לתת-משימות הבאות: 1. קליטת שם המועמד קליטת שמות המועמדים שהתקבלו והשוואתם לשם המועמד מניית מספר המחרוזות שנקלטו הצגה אם המועמד התקבל והצגת מספר המחרוזות שהיה עליו לשמוע תת-משימה 3 תבוצע בדומה למשימות מנייה אחרות, ההבדל הוא כמובן בטיפוס הערכים הנמנים מחרוזת במקרה זה ובאופן ביצוע הפעולות עליהם. בשלב יישום האלגוריתם נראה כיצד לעשות זאת. בחירת משתנים האלגוריתם name שם המועמד, עצם מהמחלקה מחרוזת str השם התורן מהקלט, עצם מהמחלקה מחרוזת counter למניית מספר המחרוזות, מטיפוס שלם 1-á counter úà ìçúà name-á úæåøçî èåì str-á úæåøçî èåì :òöá (éðåìéî øãñá) name > str ãåò ìë 1-á counter ìù åëøò úà ìãâä.4.1 str-á úæåøçî èåì.4.2 name = str íà "ìá úä <name> ãîòåîä" èìôë âöä.5.1 úøçà "ìá úä àì <name> ãîòåîä" èìôë âöä.6.1 counter ìù åëøò úà âöä יישום האלגוריתם? כיצד נבדוק אם שם המועמד גדול על פי סדר מילוני מהמחרוזת הנקלטת? אחת הפעולות המוגדרות עבור מחרוזות היא הפעולה CompareTo המשווה מחרוזת למחרוזת נוספת. אם s1 הוא עצם מהמחלקה מחרוזת, ו- s2 הוא עצם נוסף מהמחלקה מחרוזת, אז הביטוי (s2) למחרוזת נוספת המשווה את s1 CompareTo מפעיל את הפעולה s1.compareto(s2) שהתקבלה כפרמטר. הפעולה CompareTo מחזירה את תוצאת ההשוואה כערך שלם באופן הבא: אם המחרוזות שוות יוחזר הערך 0. אם המחרוזת s1 שמופעלת עליה הפעולה, קודמת למחרוזת s2 שהתקבלה כפרמטר בסדר מילוני, יוחזר מספר שלם שלילי

8 ? אם המחרוזת s1 שמופעלת עליה הפעולה, מופיעה אחרי המחרוזת s2 שהתקבלה כפרמטר בסדר מילוני, יוחזר מספר שלם חיובי. לכן, כדי לבדוק אם שם המועמד name גדול מהמחרוזת הנקלטת,str נוכל להשתמש בפעולה.name.compareTo(str) אם הפעולה תחזיר ערך חיובי נדע ששם המועמד גדול מהמחרוזת הנקלטת, ואם היא תחזיר ערך שלילי נדע ששם המועמד קטן מהמחרוזת הנקלטת. אם הפעולה תחזיר 0, נדע שהמחרוזות שוות. כיצד נבדוק אם המחרוזת האחרונה שנקלטה שווה לשם המועמד? אפשר להשתמש שוב בפעולה compareto ולבדוק אם היא מחזירה את הערך 0. לחילופין אפשר לבדוק שוויון של שתי מחרוזות באמצעות הפעולה equals הבודקת שוויון של המחרוזת שעליה היא מופעלת למחרוזת המתקבלת כפרמטר. למשל, הביטוי name.equals(str) יחזיר true אם המחרוזת str שווה למחרוזת,name אחרת יוחזר.false שימו : את המונה נאתחל ב- 1 כיוון שמחוץ ללולאה אנו קולטים את השם הראשון שנקרא. התוכנית המלאה /* קלט: שם מועמד ורשימה ממוינת של שמות פלט: האם המועמד התקבל ומספר השמות שהיה עליו לשמוע */ import java.util.scanner; public class NameFinder public static void main (String[] args) הגדרת משתנים ואתחולם // String name; String str; int counter = 1; קלט שם מבוקש // Scanner in = new Scanner(System.in); System.out.print("Enter the candidate name: "); name = in.nextline(); לולאת זקיף // System.out.print("Enter first winner name: "); str = in.nextline(); כל עוד לא עברנו את שם המועמד // while (name.compareto(str) > 0) counter++; System.out.print("Enter next winner name: "); str = in.nextline(); } // while if (name.equals(str)) System.out.println(name + " is accepted"); else System.out.println(name + " is not accepted"); System.out.println(counter + " Names"); } // main } // class NameFinder - 8 -

9 שימו : לולאת ה- while ממשיכה כל עוד מחרוזות הקלט קטנות משם המועמד. קליטת מחרוזת שווה לשם המועמד או גדולה ממנה גורמת ליציאה מהלולאה. לכן, אחרי הלולאה עלינו לבדוק את סיבת היציאה מהלולאה: האם המחרוזת האחרונה שנקלטה שווה לשם המועמד או גדולה ממנה. 3 פתרון בעיה סוף שאלה 9.3 פתחו אלגוריתם המקבל כקלט רשימת מחרוזות המסתיימת במחרוזת "***". פלט האלגוריתם יהיה אורך המחרוזת הארוכה ביותר ברשימה. ישמו את האלגוריתם בשפת.Java שאלה 9.4 פתחו אלגוריתם שיקבל כקלט שתי מחרוזות ויציג אותן לפי סדר הא"ב. ישמו את האלגוריתם בשפת.Java שאלה 9.5 פתחו וישמו אלגוריתם שיקבל כקלט מילה באנגלית ויציג אותה פעמיים, פעם באותיות גדולות ופעם באותיות קטנות. למשל עבור הקלט Memory הפלט יהיה: MEMORY ומיד אחר-כך.memory חפשו פעולות מתאימות בטבלת הפעולות המופיעה בסוף הפרק. שרשור מחרוזות פעולה נוספת ושימושית מאוד על מחרוזות היא פעולת השׁ ר שׁוּר. פעולה זו מקבלת שתי מחרוזות ויוצרת מחרוזת חדשה, המורכבת מהמחרוזת הראשונה ואחריה מוצמדת המחרוזת השנייה. הפעולה אינה משנה את המחרוזות המקוריות. בשפת Java מתבצע שרשור באמצעות סימן הפעולה +. כלומר, אם s1 ו- s2 הן מחרוזות, אז כדי לשרשר אותן זו לזו נכתוב את הביטוי.s1+s2 למשל, אם ב- s1 נמצאת המחרוזת "he" וב- s2 נמצאת המחרוזת,"llo" אז s1+s2 היא המחרוזת החדשה."hello" שימו : פעולת השרשור אינה פעולה של המחלקה מחרוזת ולכן אופן הפעלתה שונה מזה של פעולות כמו,length כמו charat או כמו פעולות אחרות השייכות למחלקה. היא אינה מופעלת על עצם מהמחלקה, ולכן אין שימוש בסימן הנקודה. אופן הפעלת פעולת השרשור על מחרוזות דומה לאופן הפעלת פעולות מתמטיות על טיפוסים רגילים בשפה. למעשה כבר השתמשנו פעמים רבות בפעולת השרשור על מחרוזות. כזכור, עד כה השתמשנו במחרוזות בהוראות הדפסה כגון: System.out.println("hello"); לעתים, פקודות ההדפסה היו מורכבות מעט יותר. למשל: System.out.println("The number is: " + number) ; או אפילו: System.out.println("There are " + bags + " bags, " + left + " are left over."); בכל ההוראות האלו הפעולה println מקבלת מחרוזת להדפסה. בדוגמה הראשונה המחרוזת היא."hello" בדוגמאות האחרות מועברת לפעולה println מחרוזת שהתקבלה כתוצאה - 9 -

10 מהפעלת פעולת שרשור של מחרוזת ושל משתנה מספרי תוצאת הפעולה מחזירה מחרוזת חדשה. כך למשל המחרוזת ש- println קיבלה בכל אחת משתי הדוגמאות האחרות היא בעצם מחרוזת שהתקבלה כתוצאה מהפעלת פעולת השרשור + (פעם אחת בדוגמה השנייה, וארבע פעמים בשלישית). למשל, אם ערכו של המשתנה number הוא 3, אז המחרוזת שהועברה להדפסה בדוגמה השנייה כלומר המחרוזת,"The number is: " למחרוזת "3" היא שרשור של המחרוזת."The number is: 3" שימו : מאחר שבמשתנה number יש ערך מטיפוס שלם יש להמיר אותו למחרוזת. ואכן טרם השרשור התבצעה פעולת המרה של הערך המספרי למחרוזת המתאימה לו באופן אוטומטי. כך קורה תמיד כאשר נשרשר ערך מטיפוס שאינו מחרוזת למחרוזת. לכן הפעולה println מקבלת למעשה מחרוזת אחת שהיא תוצאת השרשור. לשרשור מחרוזותבאופן הבא: מחרוזת 2 + מחרוזת 1 הפעולה + משמשת פעולת השרשור יוצרת מחרוזת חדשה ומקצה עבורה מקום. היא אינה משפיעה על המחרוזות המקוריות. כאשר משרשרים למחרוזת ערך שאינו מחרוזת, הוא מומר תחילה למחרוזת ואז מתבצעת פעולת השרשור. שאלה 9.6 פתחו אלגוריתם שיקבל כקלט 100 מחרוזות. עבור כל זוג מחרוזות תוצג כפלט מחרוזת שהיא שרשור של שתי המחרוזות עם הסימן '@' ביניהן (כלומר בסך הכול תוצגנה 50 מחרוזות). ישמו את האלגוריתם בשפת.Java ומה בפנים? פעולות המסתכלות אל תוך הקנקן המחלקה מחרוזת מגדירה פעולות שונות המאפשרות להסתכל פנימה לתוך המחרוזת ולהתייחס לתווים המרכיבים אותה. פעולות כאלו, כמו הפעולה charat שכבר הכרנו, מסייעות מאוד בפתרון בעיות שונות, כפי שמדגימה הבעיה הבאה: בעיה 4 מטרת הבעיה ופתרונה: הדגמת השימוש בפעולות המחלצות מידע מתוך מחרוזת. פתחו אלגוריתם שהקלט שלו הוא מחרוזת המהווה משפט באנגלית, והפלט הוא האות האחרונה של המילה הראשונה במשפט ומספר המילים במשפט. למשל, עבור הקלט: day! Welcome to Israel and have a nice הפלט המתאים הוא.e 8 ישמו את האלגוריתם בשפת.Java אפשר להניח שהמשפט מכיל לפחות מילה אחת. ניתוח הבעיה בעזרת דוגמאות נתבונן במשפט שניתן כדוגמה: day!.welcome to Israel and have a nice

11 ? כיצד אפשר לדעת כמה מילים יש במשפט הנתון? כיוון שלפני כל מילה פרט למילה הראשונה יש רווח נוכל למנות את מספר הרווחים במחרוזת ולהוסיף.1 למשל, במשפט day! Welcome to Israel and have a nice יש 7 רווחים, ולכן 8 מילים. (זאת בהנחה שבין מילה למילה יש רווח אחד בלבד!)? מהי האות האחרונה במילה הראשונה? במקרה שהמשפט מכיל מילה אחת בלבד, האות האחרונה במילה הראשונה היא האות האחרונה במחרוזת. בכל שאר המקרים, האות האחרונה במילה הראשונה היא האות שנמצאת מיד לפני הרווח הראשון. פירוק הבעיה לתת-משימות לשם פתרון הבעיה נפתור את התת-משימות הבאות: קליטת המחרוזת מניית מספר הרווחים במחרוזת שנקלטה חישוב מספר המילים במחרוזת מציאת התו האחרון של המילה הראשונה במחרוזת הצגה של מספר המילים במחרוזת ושל התו שנמצא בתת-משימה בחירת משתנים sentence מחרוזת לשמירת המשפט שנקלט numofspaces שלם, מונה את מספר הרווחים במשפט numofwords שלם, שומר את מספר המילים במשפט placeoflastletter שלם, שומר את מיקומו של התו האחרון במילה הראשונה יישום האלגוריתם כדי למנות את מספר הרווחים במחרוזת, נעבור על כל תו במחרוזת ונבדוק אם הוא שווה לרווח. לצורך בדיקת התו במיקום ה- i נשתמש בפעולה charat המחזירה את התו במקום המבוקש: if (sentence.charat(i)==' ') שימו : הפעולה charat מחזירה ערך מטיפוס char ולא מטיפוס מחרוזת, ולכן יש להשוות את הערך המוחזר לתו רווח ' ' (ולא למחרוזת המכילה את התו רווח " "). כדי למצוא את התו האחרון של המילה הראשונה נבדוק את מספר המילים במחרוזת. אם המחרוזת מורכבת ממילה אחת בלבד נחלץ, באמצעות,charAt את התו במקום האחרון, אחרת נחלץ את התו שנמצא לפני הרווח הראשון. כדי למצוא את מיקומו של הרווח הראשון אפשר להשתמש בפעולה indexof המקבלת תו ומחזירה מספר שלם המייצג את מקומו במחרוזת: placeoflastletter = sentence.indexof(' ') - 1; טבלת הפעולות בסוף הפרק מתארת גרסה נוספת של פעולה זו המקבלת מחרוזת ומחזירה את מיקומה בתוך המחרוזת שעליה מופעלת הפעולה. שימו : יש תמיד לדאוג להתאמה בין טיפוסי הערכים שאנו משתמשים בהם ובין אלו המתוארים בכותרת הפעולה

12 התוכנית המלאה /* קלט: משפט באנגלית פלט: האות האחרונה במילה הראשונה ומספר המילים במשפט */ import java.util.scanner; public class HowManyWords public static void main (String[] args) String sentence; int placeoflastletter; int numofspaces = 0; int numofwords; Scanner in = new Scanner(System.in); System.out.println("Enter a sentence, with exactly one " + "space between words:"); sentence = in.nextline(); מניית הרווחים במשפט // for (int i = 0 ; i < sentence.length() ; i++) if (sentence.charat(i) == ' ') numofspaces++; numofwords = numofspaces + 1; מציאת מקומו של הרווח הראשון // if (numofwords == 1) placeoflastletter = sentence.length()- 1; else placeoflastletter = sentence.indexof(' ') - 1; System.out.println("The last letter of the first word is: " + sentence.charat(placeoflastletter)); כמה מילים במשפט // System.out.println("There are " + numofwords + " words"); }//main }// class HowManyWords 4 סוף פתרון בעיה שאלה 9.7 פתחו וישמו אלגוריתם שהקלט שלו הוא תו ומחרוזת והפלט הוא הודעה אם התו נמצא במחרוזת או לא. שאלה 9.8 (מתוך בגרות 1995) פתחו וישמו אלגוריתם הקולט מחרוזת. האלגוריתם מציג כפלט כל תו במחרוזת פעמיים, לתו '*' (כוכבית). גם אם התו כלול במחרוזת הוא לא מוצג כלל. הפלט מוצג בשורה אחת. למשל עבור הקלט: AB*3B*? הפלט יהיה.AABB33BB?? פרט שאלה 9.9 פתחו וישמו אלגוריתם הקולט מחרוזת. האלגוריתם מציג כפלט את המחרוזת ללא אותיות זהות צמודות. למשל עבור הקלט: apple הפלט יהיה:,aple עבור הקלט: Yellow balloon הפלט יהיה: Yelow balon ועבור הקלט: abbba הפלט יהיה:.aba

13 שאלה 9.10 פתחו אלגוריתם שהקלט שלו הוא שלוש מחרוזות, והפלט שלו הוא שלוש המחרוזות לפי סדר מילוני. ישמו את האלגוריתם בשפת.Java למשל עבור הקלט: apple today good הפלט המתאים הוא:.apple good today 9.3 הוראת השמה במחרוזות עד כה ראינו כיצד לבצע פעולות קלט ופלט של מחרוזות, פעולת שרשור ופעולות שונות שמחזירות מידע על המחרוזת. בעיבוד של משתנים רגילים, אחת מהפעולות השימושיות ביותר היא הוראת השמה. בסעיף זה נדון בהשמה עבור מחרוזות, כלומר בהשמה של מחרוזת במשתנה שטיפוסו מחרוזת. למעשה, כפי שכבר אמרנו, גם בעת קליטת מחרוזת אנו מבצעים השמה של המחרוזת הנקלטת, בעצם מסוג מחרוזת. למשל, בהוראה: str = in.nextline(); הפעולה in.nextline מחזירה הפניה לשטח הזיכרון החדש שהוקצה עבור מחרוזת הקלט. בעקבות ההשמה, המשתנה str מפנה אל אותו שטח זיכרון. בסעיף זה נראה דוגמאות נוספות להשמה של מחרוזות. בעיה 5 מטרת הבעיה הבאה: הצגת השמת מחרוזת למחרוזת והדגמה נוספת של השימוש בפעולות של המחלקה.String נאמר שכתובת דואר אלקטרוני היא חוקית אם היא מקיימת את התנאים הבאים: מתחילה באות אנגלית, מורכבת מרצף לא ריק של תווים ואחריו מגיע התו '@', אחריו שוב רצף לא ריק של תווים, אחריו התו '.' ולאחריו עוד רצף לא ריק של תווים. כתובת ישראלית מסתיימת במחרוזת ".il" בקביעת חוקיות של כתובת דואר אין משמעות להבדל בין אותיות גדולות לקטנות. למשל, המחרוזת d@ccv.hhh היא כתובת דואר אלקטרוני חוקית, וכך גם IL.ייי@ t, שהיא כתובת ישראלית. לעומתן, המחרוזות הבאות אינן כתובות חוקיות: cc.יח@ח (לא מתחילה באות אנגלית), tr@.il (רצף התווים שבין התו '@' לבין התו '.' הוא ריק), rt@jjj (לא מכילה את התו '.') sda.asd@sad (התו '.' מופיע לפני התו '@'). פתחו אלגוריתם המקבל כקלט מחרוזת. ניתן להניח כי במחרוזת המתקבלת התו '.' לא מופיע יותר מפעם אחת וכך גם התו '@'. האלגוריתם מציג כפלט את המחרוזת שנקלטה, בצירוף הודעה המבהירה אם המחרוזת מהווה כתובת דואר אלקטרוני חוקית, ואם כן, אם זוהי כתובת ישראלית. ישמו את האלגוריתם בשפת התכנות.Java

14 ניתוח הבעיה בעזרת דוגמאות הכתובת היא חוקית וישראלית. גם הכתובת היא חוקית וישראלית. אין משמעות לשימוש באותיות קטנות או גדולות ההבדל ביניהן אינו משפיע על קביעת חוקיות המחרוזת וגם לא על סיווגה ככתובת ישראלית. אבל הפלט אינו לגמרי זהה בשני המקרים: אמנם בשני המקרים נציג הודעה כי המחרוזת חוקית וישראלית, אך במקרה הראשון נציג את ובמקרה השני את המחרוזת כיוון שבשביל לבדוק את חוקיות המחרוזת וכדי לקבוע אם היא ישראלית או לא אין משמעות להבדל בין אותיות גדולות לקטנות, נוכל לפשט את הבדיקה אם ראשית נמיר את המחרוזת למחרוזת זהה המורכבת מאותיות גדולות או קטנות בלבד, ורק אז נבדוק. נחליט כי המחרוזת האחידה תהיה כולה אותיות קטנות. את מחרוזת הקלט המקורית נשמור כמו שהיא, כדי שנוכל להציגה כפלט. קל לבדוק אם התו הראשון הוא אות אנגלית. ברגע שבדיקה זו הצליחה, כבר ברור שהמילה אינה מתחילה בתו כלומר שהרצף שלפני התו אינו ריק. פירוק הבעיה לתת-משימות קליטת מחרוזת יצירת מחרוזת זהה לזו שנקלטה ובה כל האותיות הן אותיות קטנות בלבד בדיקה שהתו הראשון הוא אות אנגלית בדיקה שהתווים ו-'.' מופיעים במחרוזת בדיקה שהתו '.' מופיע אחרי התו אך לא מיד אחריו ולא בסוף המחרוזת עבור מחרוזת חוקית: בדיקה אם היא ישראלית הצגה של המחרוזת ושל הודעה מלווה מתאימה בחירת משתנים בשאלה מתוארים כמה תנאים שמחרוזת חוקית צריכה לעמוד בהם. מספיק שאחד מהם לא מתקיים כדי לקבוע שהמחרוזת אינה חוקית. נוכל להיעזר במשתנה בוליאני: כל עוד לא מצאנו בעיה בכתובת הדואר האלקטרוני ערכו של המשתנה יהיה.true כאשר נמצא שגיאה באחד התנאים נציב בו.false ההודעה לפלט תוצג לפי ערכו של המשתנה. בנוסף נזדקק לשתי מחרוזות: האחת לשמירת מחרוזת הקלט המקורית, והשנייה לשמירת המחרוזת האחידה. כדי לבדוק את חוקיות המחרוזת נשתמש בשני משתנים שלמים שישמרו את מיקום התווים '.' לבסוף, נקדיש משתנה גם לאורך של המחרוזת שנקלוט. כך נוכל לחשב את האורך פעם אחת, ולהשתמש בערך המשתנה בכל הפעמים שנזדקק לאורך המחרוזת. islegal משתנה בוליאני ("דגל"), שיעיד אם הכתובת היא חוקית או לא str מחרוזת לשמירת הכתובת הנקלטת lowercasestr מחרוזת זהה למחרוזת הקלט ובה כל האותיות הן אותיות קטנות atplace מספר שלם, לשמירת מיקומו של התו dotplace מספר שלם, לשמירת מיקומו של התו '.'

15 האלגוריתם len אורך מחרוזת הקלט true-á islegal êøò úà ìçúà str-á úáåúë èåì,úåðè á úåôìçåî úåìåãâä úåéúåàä ìë äáå str-ì ääæ,äùãç úæåøçî øåö lowercasestr-á äúåà íùäå úéìâðà úåà àì àéä äðåùàøä úåàä íà false-ì islegal êøò úà äðù.4.1 úæåøçîá íéòéôåî íðéà åúä åà '.' åúä íà false-ì islegal êøò úà äðù.5.1 úøçà úæåøçîä óåñá åà åéøçà ãéî åà åúä éðôì òéôåî '.' åúä íà.6.1 false-ì islegal êøò úà äðù true-ì äååù islegal ìù åëøò íà úé åç úáåúëä éë äòãåä èìôë âöä.7.1 ".il" úæåøçîä íä íéðåøçàä íéååúä úùåìù íà.7.2 úéìàøùé úáåúëä éë äòãåä âöä úøçà.7.3 úéìàøùé äðéà úáåúëä éë äòãåä âöä úøçà úé åç äðéà úáåúëä éë äòãåä èìôë âöä יישום האלגוריתם עלינו לבדוק אם התווים '.' מופיעים במחרוזת,str ואם כן אם מיקומם תקין. לשם כך נשתמש בפעולה str.indexof המקבלת תו, ומחזירה את מיקומו במחרוזת.str כדי ליצור ממחרוזת הקלט (השמורה ב- str ) מחרוזת חדשה הזהה לה ובה כל האותיות הן קטנות, נשתמש בפעולה.str.toLowerCase כמו כל פעולה הפועלת על מחרוזות, גם הפעולה tolowercase אינה משנה את המחרוזת שעליה היא מופעלת, אלא יוצרת מחרוזת חדשה. כמו כל פעולה שיוצרת מחרוזת חדשה, הפעולה tolowercase מקצה מקום עבור המחרוזת החדשה. אנו מעוניינים שהמשתנה lowercasestr יפנה למחרוזת החדשה. לכן נשתמש במשפט השמה, ונשים את הערך המוחזר מהפעולה str.tolowercase במשתנה,lowerCaseStr כך: lowercasestr = str.tolowercase(); בעקבות הוראה זאת העצם lowercasestr מפנה אל שטח בזיכרון, ששמורה בו מחרוזת חדשה, הזהה למחרוזת הקלט ובה כל האותיות הן קטנות. במחרוזת המקורית השמורה ב- str לא חל כל שינוי. לא היינו צריכים להקצות במפורש שטח זיכרון לעצם,lowerCaseStr מפני שהפעולה tolowercase הקצתה בעצמה שטח עבור המחרוזת. לאחר פעולת ההשמה העצם lowercasestr מפנה לשטח זה

16 התוכנית המלאה התוכנית מקבלת כקלט מחרוזת, מציגה אותה כפלט, ומציגה גם הודעה המבהירה */ /* אם זו מחרוזת דואר אלקטרוני חוקית, ואם כן, אם היא כתובת ישראלית import java.util.scanner; public class Address public static void main (String[] args) String str; מחרוזת הקלט // מחרוזת כמחרוזת הקלט // lowercasestr; String ובה כל האותיות קטנות // int atplace; שומר מיקום התו // int dotplace; שומר מיקום התו '.' // דגל חוקיות הכתובת // true; boolean islegal = int len; אורך המחרוזת שנקלטה // Scanner in = new Scanner(System.in); קלט מחרוזת ושמירת אורכה // System.out.print("Enter a valid address: "); str = in.nextline(); len = str.length(); יצירת המחרוזת החדשה ושמירתה // lowercasestr = str.tolowercase(); בדיקה שהתו הראשון הוא אות לועזית // if (!(lowercasestr.charat(0) >= 'a' && lowercasestr.charat(0) <= 'z')) islegal = false; מציאת מקום התווים '.' ו -'@' // atplace = lowercasestr.indexof('@'); dotplace = lowercasestr.indexof('.'); אחד משני התווים חסר // -1)) == -1) (atplace if ((dotplace == islegal = false; else if ((dotplace < atplace) (dotplace == atplace + 1) (dotplace == len - 1)) הסדר בין התווים שגוי או שהם מופיעים ברצף // או שהנקודה מופיעה בסוף // islegal = false; הפלט // if (islegal) System.out.println(str + " is a legal address"); בדיקת שלושת התווים האחרונים במחרוזת, האם שווים ל.il- // if (lowercasestr.indexof(".il") == len - 3) System.out.println(" address is Israeli"); else System.out.println(" address is not Israeli"); } else System.out.println(str +" is not a valid address"); } // main } // Address סוף פתרון בעיה

17 s1 = s2; s2. לכן אין צורך לבצע השמת מחרוזות נכתבת כהוראת השמה רגילה: אל אותו שטח זיכרון שאליו מפנה s1 בעקבות ביצוע ההשמה, מפנה קודם הקצאת זיכרון עבור s1. שאלה 9.11 פתחו אלגוריתם המקבל כקלט רשימת מחרוזות המסתיימת במחרוזת."stop" פלט האלגוריתם יהיה המחרוזת הארוכה ביותר ברשימה. ישמו את האלגוריתם בשפת.Java שאלה 9.12 פתחו אלגוריתם המקבל מחרוזת כקלט ומציג אותה בסדר הפוך. למשל עבור הקלט university הפלט יהיה:.ytisrevinu אין צורך ליצור מחרוזת הפוכה אלא רק להציג את התווים שלה בסדר הפוך. ישמו את האלגוריתם בשפת.Java בעיה 6 מטרת הבעיה ופתרונה: הדגמת בניית מחרוזת בשלבים. פתחו אלגוריתם אשר הקלט שלו הוא מחרוזת. הפלט יהיה מחרוזת חדשה, הזהה למחרוזת המקורית, פרט לכך שמופיעה בה האות c בכל מקום שהופיעה האות b או B במחרוזת המקורית. למשל עבור המחרוזת "abcd" הפלט יהיה המחרוזת."accd" שימו : פרט לשינוי המתואר, המחרוזת החדשה צריכה להיות זהה למקורית. לא ניתן להפוך בה אותיות גדולות לקטנות או להפך. פירוק הבעיה לתת-משימות קליטת מחרוזת בניית המחרוזת החדשה הדפסת המחרוזת החדשה את תת-משימה 2 נוכל לפרק באופן הבא: 2.1. יצירת עצם מסוג מחרוזת ואתחולו במחרוזת ריקה 2.2. בנייה הדרגתית של המחרוזת החדשה, תו אחר תו את תת-משימה 2.2 נוכל ליישם בלולאת for ומספר הפעמים לביצועה נקבע לפי אורך המחרוזת. בחירת משתנים str המחרוזת שמתקבלת כקלט newstr המחרוזת החדשה יישום האלגוריתם אתחול העצם newstr במחרוזת ריקה (תת-משימה 2.1) אפשר לבצע יחד עם הצהרת המחרוזת: String newstr = new String("");

18 שמספר הפעמים לביצועה נקבע לפי אורך,for בלולאת 2.2 נוכל ליישם את תת-משימה.charAt ונבנה את הפעולה המחרוזת. בכל פעם נבדוק את התו הבא במחרוזת באמצעות המחרוזת החדשה באמצעות פעולת השרשור, למשל כך: newstr = newstr + 'c'; שימו : פעולת השרשור היא פעולה שמחזירה מחרוזת. כמו כל פעולה שמחזירה מחרוזת, פעולת השרשור אינה משנה את המחרוזות שהיא פועלת עליהן, אלא יוצרת מחרוזת חדשה (כמובן אחרי שהקצתה מקום עבורה), המתקבלת משרשור המחרוזות המקוריות. נניח למשל שב- newstr נמצאת המחרוזת."ad" מה קורה בעת ביצוע הוראת ההשמה שלעיל? פעולת השרשור מקבלת שתי מחרוזות (במקרה זה את newstr ואת המחרוזת "c", אחרי המרת התו 'c' למחרוזת) ויוצרת תוך הקצאת מקום מתאים בזיכרון מחרוזת חדשה שמכילה את שרשור שתי המחרוזות, כלומר את המחרוזת."adc" היא מחזירה את המחרוזת החדשה. בפעולת ההשמה המחרוזת חדשה מושמת ב- newstr. כלומר במקום ש- newstr י פנה אל המחרוזת המקורית,("ad") הוא מפנה כעת אל השטח החדש בזיכרון. מה קרה למחרוזת המקורית? ניתן לומר שהיא הלכה לאיבוד, מכיוון שאין הפניות אליה. בכך פעולת השמה של מחרוזות אינה שונה מפעולת השמה רגילה של משתנים: גם כאשר אנו מבצעים השמה כגון y אובד והערך החדש של x משתנים רגילים, אז ערכו המקורי של שהם ו- y x למשתנים x = y מחליף אותו. כאשר נשרשר למחרוזת תו נוסף, אותו תהליך יחזור על עצמו: הקצאת שטח למחרוזת חדשה שתהיה השרשור של המחרוזת המקורית לתו החדש, והשמה הגורמת ל- newstr להפנות אל השטח בזיכרון של המחרוזת החדשה. אם כך בבנייה הדרגתית של מחרוזת כפי שתואר לעיל, לא יהיה מדויק לומר שאותה מחרוזת גדלה כל פעם בתו נוסף. למעשה, נוצרת סדרה של מחרוזות: בכל פעם נוצרת מחרוזת חדשה, ארוכה בתו אחד, והיא תופסת את מקומה של המחרוזת הקודמת. התוכנית המלאה /* מחרוזת קלט: כל 'B' או 'b' מופיע 'c' ןבמקום מחרוזת זהה למקורית, פלט : */ import java.util.scanner; public class ReplaceCForB public static void main (String[] args) String str; מחרוזת הקלט // String(""); String newstr = new // המחרוזת החדשה במחרוזת ריקה // כעצם המאותחל קלט // Scanner in = new Scanner(System.in); System.out.print("Enter a string: "); str = in.nextline(); בניית המחרוזת החדשה // for(int i = 0; i < str.length(); i++) הקלט תו אחר תו // סריקת מחרוזת

19 if ((str.charat(i) == 'b') (str.charat(i) == 'B')) החלפת 'B' או 'b' ב-' c ' newstr = newstr + 'c'; // else העתקת התו המקורי // str.charat(i); newstr = newstr + } // for פלט // System.out.println("The new String is: " + newstr); } // main } // class ReplaceCForB לבנות מחרוזת חדשה בשלבים, סוף תו אחרי תו פתרון בעיה 6 ניתן לעשות זאת כאשר אנו נדרשים באופן הבא: ליצור עצם שיהיה מחרוזת חדשה ולאתחל אותו במחרוזת ריקה (""); באמצעות הוראה לביצוע-חוזר, לבצע בכל פעם שרשור של המחרוזת הקיימת לתו החדש, והחלפת המחרוזת הקיימת במחרוזת החדשה שהתקבלה מפעולת השרשור. שאלה 9.13 פתחו וישמו אלגוריתם שהקלט שלו הוא מחרוזת המהווה משפט משובש: במקום כל רווח מופיע הסימן $. האלגוריתם מייצר מחרוזת חדשה ובה המשפט התקני, ומציג אותו כפלט. ישמו את האלגוריתם בשפת.Java שאלה 9.14 אורי ונעמי המציאו שפה מוצפנת. המשפטים הניתנים להצפנה כוללים מילים ורווחים בלבד, בהינתן שכל מילה נכתבת רק באותיות אנגליות קטנות. ההצפנה מתבצעת באופן הבא: כל רווח מוחלף בסימן '@', ולאחר כל אות מופיעה האות האנגלית הגדולה המתאימה לה. למשל, המשפט good morning מוצפן כך.gGoOoOdD@mMoOrRnNiInNgG פתחו אלגוריתם המקבל משפט כקלט ומציג את המשפט המוצפן המתאים לו כפלט. ישמו את האלגוריתם בשפת.Java שאלה 9.15 פתחו אלגוריתם שמקבל כקלט מחרוזת, מייצר מחרוזת חדשה ובה סדר התווים הפוך למחרוזת המקורית, ומציג את המחרוזת החדשה כפלט. בנוסף האלגוריתם בודק אם שתי המחרוזות (המקורית וההפוכה) שוות זו לזו. במילים אחרות האלגוריתם בודק אם המחרוזת המקורית היא פלינדרום. האלגוריתם מציג כפלט הודעה מתאימה לתוצאת הבדיקה. למשל: עבור הקלט: dog יהיה הפלט:.god not a palindrome עבור הקלט: aba יהיה הפלט:.aba a palindrome ישמו את האלגוריתם בשפת.Java שאלה 9.16 תלמידי הכיתה התעניינו לדעת למי יש סבתא בשם הארוך ביותר. פתחו אלגוריתם אשר יקבל כקלט את מספר התלמידים בכיתה, ולאחר מכן רשימה של שמות הסבתות של תלמידי הכיתה כמחרוזות. אורך הרשימה כמספר תלמידי הכיתה. פלט האלגוריתם יהיה השם הארוך ביותר. ישמו את האלגוריתם בשפת.Java

20 שאלה 9.17 כתובת אתר אינטרנט של חברה מסחרית בינלאומית בנויה בדרך כלל מ- 3 חלקים המופרדים בנקודות: החברה. www com.שם פתחו אלגוריתם המקבל כקלט כתובת של אתר של חברה מסחרית בינלאומית, במבנה שתואר לעיל, ומציג כפלט את שם החברה בלבד. ישמו את האלגוריתם בשפת.Java הדרכה: השתמשו בפעולה substring שבטבלת הפעולות הנמצאת בסוף הפרק. שאלה 9.18 כתובת אתר אינטרנט של חברה מסחרית שאינה בינלאומית בנויה בדרך כלל מ- 3 חלקים המופרדים בנקודות: סיומת המדינה.שם החברה. www פתחו אלגוריתם המקבל כקלט רשימת כתובות של אתרי חברות מסחריות כאלה (כל אחת מהן במבנה שתואר לעיל). הרשימה תסתיים במחרוזת."end" האלגוריתם יציג כפלט עבור כל חברה את שמה ואת סיומת המדינה שלה. ישמו את האלגוריתם בשפת.Java שאלה 9.19 יעל ועומרי המציאו משחק. כל אחד בתורו רושם משפט המתחיל במילה האחרונה של המשפט מהתור הקודם. המשפט הראשון במשחק יתחיל במילה."start" למשל: start the game game is one of the best ways to kill time time is money פתחו אלגוריתם המסייע למשחקים: האלגוריתם מקבל כקלט את מספר התורות המבוקש. בתחילת כל תור הוא מציג את המילה שצריך להתחיל בה המשפט הבא, ולאחר מכן הוא מקבל כקלט את המשפט החדש. המשחק מסתיים כאשר מספר התורות הסתיים, או כאשר המשפט שבחר אחד השחקנים מתחיל במילה שגויה. ישמו את האלגוריתם בשפת.Java סיכום בפרק זה הכרנו את המחלקה String ולמדנו כיצד לעבד מחרוזות. בשפת Java מחרוזת אינה טיפוס פשוט, כמו int או.char הטיפוס החדש מוגדר בשפה כמחלקה בשם,String ומחרוזות הן עצמים של מחלקה זו. למעשה כבר הכרנו עצמים כאשר השתמשנו במחלקה Random ליצירת מספרים אקראיים. עצמים הם משתנים של הטיפוס החדש ואפשר להפעיל עליהם פעולות המוגדרות במחלקה. אופן השימוש בעצמים שונה מהשימוש במשתנים מהטיפוסים הפשוטים המוכרים לנו. הצהרה על עצם.(char למשל: ממחלקה מסוימת דומה להצהרה על משתנה מטיפוס סטנדרטי (כגון int או String str; בניגוד להצהרה על משתנים מטיפוסים סטנדרטיים, אחרי הצהרה על עצם צריך גם ליצור אותו באמצעות הפעולה.new יצירת העצם כוללת הקצאת שטח זיכרון ואתחול העצם

21 למשל, ההוראה הבאה מקצה מקום עבור str ומאתחלת אותו כך שישמור את המחרוזת "ab" : str = new String("ab"); מכיוון שהשימוש במחרוזות נפוץ כל כך, שפת Java מאפשרת ליצור עצמים מסוג מחרוזת ולאתחל אותם בצורה ישירה ללא שימוש בפעולה.new למשל כך: String s1 = "xyz"; מיקום התווים במחרוזת מתחיל ב- 0. בכל מחרוזת, אם נסמן את אורך המחרוזת ב- len, אז התו האחרון במחרוזת נמצא במיקום,len-1 והתו הראשון נמצא במיקום ה- 0. במחלקה String מוגדרות פעולותשאפשר לבצע על מחרוזות, כלומר על עצמים של המחלקה. לכל פעולה מוגדרים סוגי הערכים (הפרמטרים) שהיא מצפה לקבל, וכן מוגדר טיפוס הערך המוחזר ממנה. חשוב לוודא התאמה של טיפוסי הפרמטרים המועברים לפעולה לאלה שהיא מצפה לקבל, ושל טיפוס הערך המוחזר ממנה לביטוי שהוא משולב בו. למשל, אם אנו מבצעים השמה של הערך המוחזר מפעולה במשתנה, יש לוודא התאמה של טיפוס המשתנה לטיפוס הערך המוחזר. יש פעולות שלא מצפות לקבל פרמטרים ופעולות שלא מחזירות ערך. כדי לציין ביצוע פעולה של עצם מהמחלקה משתמשים בסימון הנקודה: ראשית נכתוב את שם העצם, אחריו נכתוב נקודה, לאחר מכן נכתוב את שם הפעולה לביצוע ומיד אחר כך מפורטים בסוגריים הערכים המועברים לפעולה. למשל: len = str.length(); letter = str.charat(5); עבור עצמים של המחלקה String מוגדרות פעולות רבות, המשמשות אותנו ביישום אלגוריתמים הקשורים למחרוזות. למחלקה זו פעולות רבות נוספות פרט לאלו שהוצגו בפרק. תוכלו למצוא הרחבה על כל אחת מהפעולות בקישור הזה: ביחידה זו נשתמש רק בפעולות שהוצגו בפרק זה. הפעולות שמחזירות מחרוזת, אינן משנות את המחרוזת שהופעלו עליה. הן יוצרות מחרוזת חדשה ומקצות שטח עבורה..Scanner next לביצוע קלט של מחרוזת השתמשנו בפעולה nextline פעולה זו מקצה שטח זיכרון עבור המחרוזת שנקלטה. או של המחלקה גם בעקבות ביצוע השמה של מחרוזת אל מחרוזת, s1, = s2 מפנה s1 אל אותו שטח זיכרון שאליו מפנה s2. לכן אין צורך לבצע קודם הקצאת זיכרון עבור s1. בנוסף לפעולות המוגדרות במחלקה String למדנו בפרק זה על פעולת השרשור. פעולה זו מקבלת שתי מחרוזות ויוצרת מחרוזת חדשה והיא השרשור של שתי המחרוזות. זוהי פעולה שימושית מאוד לצורך הדפסה. פעולת השרשור אינה פעולה של המחלקה String ולכן בכתיבתה אין שימוש בסימון הנקודה. סימן פעולת השרשור הוא הסימן +. בפרקים הבאים נלמד להגדיר מחלקות בעצמנו, ולא רק להשתמש במחלקות קיימות

22 רשימת פעולות על מחרוזות הפעולה תיאור הפעולה טיפוס הערך המוחזר הפעולה דוגמאות הערך המוחזר 3 0 'a' 3 2 s1.length() "dog" פעולה המחזירה את אורכה של המחרוזת (מספר התווים במחרוזת). שלם s1.length() "" פעולה המחזירה את התו הנמצא במחרוזת במיקום (אינדקס) הנתון. תו s1.charat(2) "shalom" s1.indexof("pl") "people" פעולה המקבלת מחרוזת או תו, ומחפשת בתוך המחרוזת שעליה מופעלת הפעולה את המיקום הראשון שבו מופיעה המחרוזת או התו שהתקבלו. הפעולה תחזיר את המיקום. היא תחזיר את הערך -, 1 אם החיפוש נכשל. שלם s1.indexof('o') "people" length() charat(int index) indexof(string s) indexof(char c) false true פעולה המקבלת מחרוזת, ומחזירה true אם המחרוזת שעליה הופעלה הפעולה והמחרוזת שהתקבלה שוות זו לזו בדיוק. אחרת, היא מחזירה בוליאני s1.equals(s2) "love" וב- s2 נמצאת המחרוזת "Love" s1.equals(s2) "love" וב- s2 נמצאת המחרוזת "love".false פעולה המקבלת מחרוזת, ומשווה אותה למחרוזת שעליה הופעלה הפעולה. אם הן שוות זו לזו מוחזר הערך אפס. אם המחרוזת שעליה מופעלת הפעולה קודמת למחרוזת שהתקבלה בסדר מילוני, יוחזר מספר שלם שלילי. אם המחרוזת שעליה מופעלת הפעולה, מופיעה אחרי המחרוזתשהתקבלה בסדר מילוני, יוחזר מספר שלם חיובי. שלם s1.compareto(s2) "aa" וב- s2 נמצאת המחרוזת מספר שלילי כלשהו "ab" equals(string s) compareto(string s)

23 פעולה שיוצרת מחרוזת זהה למחרוזת שעליה היא מופעלת, ובה כל האותיות מוחלפות באותיות קטנות. הפעולה מחזירה את המחרוזת החדשה. מחרוזת s1.tolowercase() המחרוזת החדשה "peace" "Peace" tolowercase() פעולה שיוצרת מחרוזת זהה למחרוזת שעליה היא מופעלת, ובה כל האותיות מוחלפות באותיות גדולות. הפעולה מחזירה את המחרוזת החדשה. מחרוזת מחרוזת מחרוזת s1.touppercase() המחרוזת החדשה "PEACE" "Peace" פעולה שיוצרת מחרוזת זהה לתת-מחרוזת המתחילה מהמקום ה- k של המחרוזת שעליה הפעולה מופעלת ועד סופה. הפעולה מחזירה את המחרוזת החדשה. s1.substring(4) המחרוזת החדשה "Bye" "GoodBye" פעולה שיוצרת מחרוזת זהה לתת-מחרוזת המתחילה מהמקום ה- k של המחרוזת שעליה הפעולהמופעלת, ועד המקום ה-( s-1 ). הפעולה מחזירה את המחרוזת החדשה. שימו לב שעל ערכו של s להיות קטן או שווה לאורך המחרוזת. s1.substring(4,10) המחרוזת החדשה "Bye Is" "GoodBye Israel" touppercase() substring(int k) substring(int k, int s)

ASP.Net MVC + Entity Framework Code First.

ASP.Net MVC + Entity Framework Code First. ASP.Net MVC + Entity Framework Code First 1 הקדמה בפרק הזה יוצג שימוש בFirst EntityFramework Code עבור ה use case הבאים : ASP.Net MVC ASP.Net Web API ASP.Net MVC + Scaffolding הערה : Framework Entity הוצג

More information

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

שאלות חזרה לקראת מבחן מפמר אינטרנט וסייבר שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר שאלה.1 ייצוג מידע בטבלה שלפניכם מספרים בבסיס. כל מספר מיוצג ע"י 5 סיביות. 10011 = 01100 = 00111 = 11000 = 11010 = 00101 = 10000 = 01111 = ד. יש להשלים את הערך

More information

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of the rule. (Choose three cards appropriate to the lesson

More information

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: שאלה 1 עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: 99 80 50 15 40 34 30 22 10 13 20 13 9 8 א. ב. ג. האם העץ

More information

בוחן בתכנות בשפת C בצלחה

בוחן בתכנות בשפת C בצלחה בוחן בתכנות בשפת C ) כתוב תכנית הקולטת ממשתמש מספרים שלמים ומדפיסה כמה מספרים היו גדולים מ-, כמה מספרים היו קטנים מ-, וכמה מספרים היו שווים ל-. 2) כתוב תכנית הקלטת עשרה מספרים טבעיים ומחשבת את הממוצע שלהם.

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק בול פגיעה שעור 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00045000 I.M 2ND 00039500

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 שאלה )מועד א 2013( לפניך מספר הגדרות: תת מילה של המילה word הינה רצף של אותיות עוקבות של word פלינדרום באורך le היא מילה בעלת le אותיות שניתן לקרוא אותה משמאל לימין וגם מימין

More information

המבנה הגאומטרי של מידה

המבנה הגאומטרי של מידה התוכנה מאפשרת לרשום מידות מסוגים שונים בסרטוט, במגוון סגנונות ובהתאם לתקנים המקובלים. רצוי לבצע מתן מידות בשכבה המיועדת לכך. לכל מידה יש תכונות של בלוק. תהליך מתן המידות מתחיל תמיד מקביעת סגנון המידות.

More information

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk מכונת מצבים סופית תרגול מס' 4 1 מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות...,I3,I1,I2 בא"ב input out פלט: סדרה אינסופית של אותיות O

More information

מבוא למחשב בשפת פייתון

מבוא למחשב בשפת פייתון 234221 מבוא למחשב בשפת פייתון 3 מבני בקרה ולולאות פרופ' ראובן בר-יהודה דין לייטרסדורף הפקולטה למדעי המחשב הטכניון מכון טכנולוגי לישראל נערך ע"י יעל ארז 1 פקודות והזחות 2 פקודה פשוטה >>> 3+2 5 >>> x = 5

More information

פרק 7 ביצוע-חוזר 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה הביצוע-החוזר.

פרק 7 ביצוע-חוזר 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה הביצוע-החוזר. פרק 7 ביצוע-חוזר עד כה הכרנו בעיות אשר לשם פתרונן ביצענו מספר תת-משימות שונות, באופן סדרתי. כלומר כל תת-משימה בסדרה בוצעה פעם אחת (ואם זו משימה שביצועה תלוי בתנאי, ייתכן שלא בוצעה אפילו פעם אחת). אולם

More information

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש מאגר מעבדות לשפות התכנות החדשות ניתן להשתמש בחומרים לצורך הוראה בלבד. לא ניתן לפרסם את החומרים או לעשות בהם כל שימוש מסחרי ללא קבלת אישור מראש מצוות הפיתוח בראשות ד"ר תמר פז. המעבדה בקובץ זה מיועדת לתלמידים

More information

Redirection The Input Buffer

Redirection The Input Buffer מבוא לשפת C תירגול 3: טיפוסים והמרות 1 מה היה שבוע שעבר? משתנים קלט/פלט scanf) ו- printf ) Redirection The Input Buffer 2 תוכנייה טיפוסי משתנים קלט/פלט מעוצב המרה בין טיפוסים 3 חישוב ממוצע בין שני מספרים

More information

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. סריקה לרוחב פרק 3 ב- Kleinberg/Tardos קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. קשירות.s,t V שני צמתים,G=(V,E) קלט:

More information

Patents Basics. Yehuda Binder. (For copies contact:

Patents Basics. Yehuda Binder. (For copies contact: Patents Basics Yehuda Binder (For copies contact: elissa@openu.ac.il) 1 Intellectual Property Value 2 Intellectual Property Rights Trademarks Copyrights Trade Secrets Patents 3 Trademarks Identify a source

More information

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ ניפוי שגיאות )Debug( מאת ישראל אברמוביץ בדף העבודה יש תירגול בסביבת העבודה לשפת #C לסביבות עבודה אחרות. )2015 )Visual Studio אך היא מתאימה גם לשפת Java וגם o 1. ריצה של כל התוכנית ועצירה בסוף יש לבחור

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק טקסט שעור 3 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDI 15 1S 00079000 G. 2ND 00079000 S.G 3RD

More information

A R E Y O U R E A L L Y A W A K E?

A R E Y O U R E A L L Y A W A K E? A R E Y O U R E A L L Y A W A K E? ב ר ו ך א ת ה י י א לה ינ ו מ ל ך ה עו ל ם, ה מ ע ב יר ש נ ה מ ע ינ י ות נ ומ ה מ ע פ ע פ י Blessed are You, Hashem our God, King of the Universe, who removes sleep from

More information

התכנית הראשונה שלי

התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר תחילה את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת.Java התכנית

More information

5.1 הוראה לביצוע-בתנאי

5.1 הוראה לביצוע-בתנאי פרק 5 ביצוע מותנה בשני הפרקים הקודמים ראינו אלגוריתמים שבמהלך ביצועם מתבצעת כל אחת מהוראות האלגוריתם. בפרק זה נכיר אלגוריתמים אשר במהלך ביצועם לא מתבצעות תמיד כל הוראות האלגוריתם. אלגוריתמים אלה כוללים

More information

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת. 1 (Liquid Crystal Display) תצוגת LCD בפרויקט ישנה אפשרות לראות את כל הנתונים על גבי תצוגת ה- LCD באופן ברור ונוח. תצוגה זו היא בעלת 2 שורות של מידע בעלות 16 תווים כל אחת. המשתמש יכול לראות על גבי ה- LCD

More information

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית נושאים: מערכים, רשימות מרצה ומתרגלים אחראים: איתן בכמט, איסנה וקסלר, רז ניסים תאריך פרסום: 11.21 תאריך הגשה:

More information

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש מאגר מעבדות לשפות התכנות החדשות ניתן להשתמש בחומרים לצורך הוראה בלבד. לא ניתן לפרסם את החומרים או לעשות בהם כל שימוש מסחרי ללא קבלת אישור מראש מצוות הפיתוח בראשות ד"ר תמר פז. המעבדה בקובץ זה מיועדת לתלמידים

More information

Practical Session No. 13 Amortized Analysis, Union/Find

Practical Session No. 13 Amortized Analysis, Union/Find Practical Session No. 13 Amortized Analysis, Union/Find Amortized Analysis Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

סהכ נקודות סהכ 31 נקודות סהכ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט מבחן 0220 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5

More information

פרק 10 מערכים 10.1 מערך ואיברי מערך 1 בעיה. המשתתפים. ישמו את האלגוריתם בשפת.Java שאלה 10.1 שווים ל- 4.60? קליטת נתוני הקלט, שמירתם וצבירתם

פרק 10 מערכים 10.1 מערך ואיברי מערך 1 בעיה. המשתתפים. ישמו את האלגוריתם בשפת.Java שאלה 10.1 שווים ל- 4.60? קליטת נתוני הקלט, שמירתם וצבירתם פרק 10 מערכים האלגוריתמים שפיתחנו לפתרון בעיות שונות בפרקים הקודמים היו שונים ומגוונים הם היו שונים זה מזה בפרט בכמות המידע שנקלט בהם, כלומר בגודל הקלט אבל בכל האלגוריתמים שהצגנו עד כה, גם כאשר כמות המידע

More information

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד רשתות מחשבים עומר רוזנבוים 1 DNS פרק 4 ג' שכבת האפליקציה, פרוטוקול ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים מאת 1 בסיום הפרק נדע: מה תפקיד פרוטוקול?DNS לשם מה צריך?DNS מהי ההיררכיה של כתובות דפי האינטרנט? מהו,TLD

More information

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה. שם: ת.ז: ציון: Computer Structure Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה. שאלה 1 appleממש מערכת אשר קולטת בכל מחזור שעון ביט קלט בודדX. כדי להגדיר את הפלט של המערכת במחזור השעון הappleוכחי

More information

מבנה התכנית יסודות מדעי המחשב התכנית הראשונה שלי

מבנה התכנית יסודות מדעי המחשב התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת #C. התכנית קולטת

More information

THINKING ABOUT REST THE ORIGIN OF SHABBOS

THINKING ABOUT REST THE ORIGIN OF SHABBOS Exploring SHABBOS SHABBOS REST AND RETURN Shabbos has a multitude of components which provide meaning and purpose to our lives. We will try to figure out the goal of Shabbos, how to connect to it, and

More information

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור קארדינטת קטבית y p p p במישר,y הגדרנ נקדה על ידי המרחקים מהצירים. ז מערכת ישרת זית )קרטזית( אשר בה יש לנ צירים מאנכים זה לזה. באת מישר ניתן להגדיר נקדה על ידי זית רדיס קטר. (, ) הרדיס קטר מסתבב )נגד כין

More information

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES Sinning in Disguise Like people of all faiths, Jews sometimes do things or go to places they are not supposed to. This session is not about

More information

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן:

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן: מבחן מועד ב' תאריך הבחינה: 3.3.2015 שמות המרצים: דר' רועי זיון פרופ' משה זיפר פרופ' מיכאל קודיש דר' צחי רוזן גב' מיכל שמש שם הקורס: מבוא למדעי המחשב אנא קיראו היטב את ההראות שלהלן: מספר הקורס: 202-1-1011

More information

Reflection Session: Sustainability and Me

Reflection Session: Sustainability and Me Goals: Participants will: identify needs in their home communities apply their sustainability learning to the conditions of their home communities design a sustainable project idea and evaluate the ideas

More information

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי WPF-Windows Presentation Foundation Windows WPF טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי Client חכמים המשלב ממשקי משתמש,תקשורת ומסמכים. מטרת התרגיל : ביצוע אנימציה לאליפסה ברגע

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 Translated from the Hebrew Sharf Translations Message sent From: Tomer Shohat

More information

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces 1 הבסיס כתיבת התכנית הראשונה שימוש במשתנים הטיפוס הבסיסי object הטיפוס הבסיסי string משפטי בקרה שימוש ב- Enumerations שימוש ב- Namespaces המתודה Main כתיבת הערות פקודות קדם מהדר 2 כתיבת התכנית הראשונה

More information

מושגים בסיסיים תלמידים והורים יקרים,

מושגים בסיסיים תלמידים והורים יקרים, אחוזים מושגים בסיסיים תלמידים והורים יקרים, לפניכם קובץ ובו מושגים בסיסיים בשאלות אחוזים. הקובץ מכיל 12 מושגים. רצוי לעבור על חומר הלימוד לפני המעבר על המבחנים. ניתן להדפיס קובץ זה כדי שיהיה לפני התלמיד/ה

More information

פרק מושגים חדשים שימוש בפונקציות לשם מה?

פרק מושגים חדשים שימוש בפונקציות לשם מה? פרק 9 שימוש בפונקציות לשם מה? השימוש בפונקציות מסייע לבצע פעולות מורכבות בקלות וביעילות. בשפת Java קיימות ספריות המכילות אוספים של פונקציות מוכנות. הפונקציות בספריה הוגדרו ונכתבו מראש על ידי מתכנני השפה

More information

תרגול 8. Hash Tables

תרגול 8. Hash Tables תרגול Hash Tables ds-ps חידה מהשיעור הקודם בכל השקים המטבעות שוקלים ורק בשק אחד המטבעות שוקלים.. מותר לנו לבצע שקילה אחת בלבד! איך נדע מה השק הקל יותר? שקים עם מטבעות ds-ps מה היה לנו דיברנו על מבני נתונים

More information

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10 תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית: שאלות לפי נושאים: 3 שאלות העוסקות בנוסחת האיבר הכללי: 3 שאלות העוסקות בסכום סדרה חשבונית: 4 שאלות מסכמות: 5 תשובות סופיות: 8 סיכום תכונות הסדרה ההנדסית:

More information

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative Hebrew Ulpan HEB 011-031 Young Judaea Year Course in Israel American Jewish University College Initiative Course Description Hebrew is not only the Sacred Language of the Jewish people, but it is also

More information

תוכנה 1 אביב תשע"ג תרגיל מספר 7 לכל אורך התרגיל ניתן להוסיף שירותי עזר בתנאי שאינם פוגעים בנדרש בסעיפים אחרים.

תוכנה 1 אביב תשעג תרגיל מספר 7 לכל אורך התרגיל ניתן להוסיף שירותי עזר בתנאי שאינם פוגעים בנדרש בסעיפים אחרים. תוכנה 1 אביב תשע"ג תרגיל מספר 7 הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(http://moodle.tau.ac.il/) בלבד הגשת התרגיל תיעשה במערכת ה- moodle יש להגיש קובץ zip יחיד הנושא

More information

פרק עצמים א. טיפוסים חדשים ב. מצב של עצם

פרק עצמים א. טיפוסים חדשים ב. מצב של עצם - 9-2 פרק עצמים במחלקות שימוש עד היום הכרתם טיפוסי ערכים פשוטים המוגדרים בשפה כמו int ו- double, יצרתם משתנים היכולים להכיל ערכים מטיפוסים אלה והשתמשתם בהם לפתרון בעיות. על ערכים פשוטים אלה אפשר היה לבצע

More information

למבחן ביסודות מדעי המחשב דוגמא

למבחן ביסודות מדעי המחשב דוגמא פרק א' למבחן ביסודות מדעי המחשב דוגמא כתוב תכנית הקולט מספר למשתנה N ולאחריו N מספרים שלמים ומדפיס את כמות המספרים המתחלקים ב 3 - ללא שארית. (10 נקודות). כתוב ביטוי בוליאני המייצג את התנאי הבא: ספרת העשרות

More information

תאריך הבחינה: מבוא למדעי המחשב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

תאריך הבחינה: מבוא למדעי המחשב ד ר פז כרמי פרופ' מייק קודיש ד ר חן קיסר ד ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס: מבוא למדעי המחשב 202-1-1011 מבחן אנא קראו את ההוראות שלהלן בעיון: תאריך הבחינה: 622011 שמות המרצים: מר שי זקוב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

More information

מבוא למחשב בשפת Matlab

מבוא למחשב בשפת Matlab מבוא למחשב בשפת Matlab תרגול 10: רקורסיה מבוסס על שקפי הקורס "מבוא למדעי המחשב" ובסיוע שקפים של ערן אדן כל הזכויות שמורות לטכניון מכון טכנולוגי לישראל תזכורת: פונקציות להלן קוד של פונקציה בשם :func function

More information

דיאגרמה לתיאור Classes

דיאגרמה לתיאור Classes 1 דיאגרמה לתיאור Classes הקדמה לדיאגרמת Classes כללים במתן שמות ל- Classes שאנו מתארים הרשאות גישה של מרכיבי ה- Class השונים משתנים (Attributes) שמוגדרים ב- Class משתנים סטטיים Attributes) (Static מתודות

More information

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

לתוכנה שכותבים, כמו פונקציה זו, קוראים קוד הגדרת פונקציות מבוא לתכנות מדעי וסטטיסטי R פונקציות, ו חלק 4 בנוסף לפונקציות שמגיעות מוכנות יחד עם המערכת exp) mean,,c וכו'), אפשר לכתוב פונקציות חדשות פונקציות נקראות לעתים "פרוצדורות" או "סאב-רוטינות"

More information

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים מבוא למדעי המחשב בשפת ++C חוברת תרגילים הגשת התרגילים היא ביחידים, יש להגיש במערכת ה moodle את כל הפרוייקט כקובץ.ZIP חובה להגיש תרגיל שמתקמפל + דוגמאות פלט של ההרצה. יש להקפיד על הדברים הבאים: שמות משתנים

More information

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות תכנות בסביבת האינטרנט 1 כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות כפתור רדיו משמש למקרים שבהם יש לבחור באפשרות אחת מתוך רשימת האפשרויות שבקבוצה. למשל: שאלון רב-ברירות )שאלון אמריקאי( שבו יש רק תשובה אחת

More information

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1 מבוא למדעי המחשב בשפת JAVA חוברת תרגילים תוכן עניינים מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1 אבני הבניין של השפה... 2 תרגילי תחביר... 3.1.2 משפטי תנאי... 3 א. תרגילי תחביר ב. ג. תרגילי תחביר לולאות...

More information

A Long Line for a Shorter Wait at the Supermarket

A Long Line for a Shorter Wait at the Supermarket A Long Line for a Shorter Wait at the Supermarket - New York Times Page 1 of 4 A Long Line for a Shorter Wait at the Supermarket Sam Baris directing customers at Whole Foods in Columbus Circle, where the

More information

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

ANNEXURE E1-1 FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) Dear Sirs, Re: Standby Letter of Credit No: Please advise the

More information

יסודות מבני נתונים. תרגול :9 ערימה - Heap

יסודות מבני נתונים. תרגול :9 ערימה - Heap יסודות מבני נתונים תרגול :9 ערימה - Heap maximum שאלה: כמה זמן לוקח לחפש איבר בערימה? תשובה:,O(n) למרות שבערימה קיים סדר מסויים. Heaps 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 דוגמה: 7 11 13 21 12 17 20 34

More information

ניסוי בפייתון מכון טכנולוגי לישראל הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא יורשה לבצע את הניסוי.

ניסוי בפייתון מכון טכנולוגי לישראל הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא יורשה לבצע את הניסוי. הטכניון מכון טכנולוגי לישראל הפקולטה להנדסת חשמל, המעבדה למערכות תוכנה מרושתות גרסה 1.1: נובמבר 1111, איתי אייל, אלכס שרמן הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא

More information

זה. Nir Adar

זה. Nir Adar גירסה 28.4.2003-1.00 האסמבלי של 8086 חלק שני מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך,

More information

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים מבוא למדעי המחשב בשפת ++C חוברת תרגילים הגשת התרגילים היא ביחידים, יש להגיש במערכת ה moodle את כל הפרוייקט כקובץ.ZIP חובה להגיש תרגיל שמתקמפל + דוגמאות פלט של ההרצה. יש להקפיד על הדברים הבאים: שמות משתנים

More information

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו פרק 7 פקודות אריתמטיות, לוגיות והזזה ברק גונן 1 תוכן הפרק פקודות אריתמטיות ADD, INC SUB, DEC MUL DIV פקודות לוגיות AND OR XOR NOT פקודות הזזה SHL SHR ברק גונן 2 פקודת ADD מחברת את אופרנד המקור עם אופרנד

More information

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

מבוא לרשתות - תרגול מס' 11 Transparent Bridges מבוא לרשתות - תרגול מס' 11 Transparent Bridges גשרים: מוטיבציה המטרה: חיבור של כמה רשתות מקומיות ) LAN -ים( לרשת מורחבת אחת על מנת לאפשר תקשורת בין מחשבים שאינם מחוברים לאותה רשת מקומית.?)ports עם מס'

More information

פרק מיון וחיפוש - לשם מה? הגדרה

פרק מיון וחיפוש - לשם מה? הגדרה פרק מיון וחיפוש - לשם מה? מה הוא מיון? מיון נתונים הוא סידורם בסדר עולה או יורד. מיון יכול להיות מספרי או אלפביתי. ברשימת נתונים ממוינת ניתן לייעל את זמן איתור הנתונים. מה הוא חיפוש? חיפוש הוא תהליך איתור

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 McLaughlin, Terence K. From: Sent: To: Cc: Subject: Follow Up Flag: Flag Status:

More information

אנגלית (MODULE E) בהצלחה!

אנגלית (MODULE E) בהצלחה! 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016481 מספר השאלון: א. משך הבחינה: שעה ורבע אנגלית שאלון ה' (MODULE E) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה: בשאלון זה

More information

פולימורפיזם. blog.csit.org.il מדעי המחשב

פולימורפיזם. blog.csit.org.il מדעי המחשב 1 פולימורפיזם להסתכל על אותו אובייקט בצורות שונות. אובייקט של תת-מחלקה )המחלקה הנגזרת( הוא גם אובייקט של מחלקת העל )מחלקת הבסיס( )כלב הוא גם בעל-חיים וגם יונק(. פולימורפיזם מאפשר להשיג שתי מטרות: לטפל

More information

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמר לכיתה ט', רמה מצומצמת , תשעב טור א' ה פ ו י ת ש כ ו ל מ ע י ם על ה ו ר ת ה מ ת מ ט י ק ה כ" ייר, תשע".5.0 מחוון למחן מפמ"ר לכיתה ט', רמה מצומצמת 0, תשע" שלה סעיף תשוות טור ' ניקו מפורט והערות תשוה: סעיף III נקוות תשוה מלה נק' לכל שיעור משיעורי

More information

אוניברסיטת בן גוריון בנגב

אוניברסיטת בן גוריון בנגב אוניברסיטת בן גוריון בנגב מספר נבחן : מס' הקורס : 202-1-9011 מיועד לתלמידי : הנדסה במבחן זה 5 שאלות שנה תשע"ה סמ' א' מועד ב' רשמו תשובותיכם בדפי התשובות בלבד משך הבחינה : 3 שעות מחברת הטיוטה לא תימסר לבדיקה

More information

פרק רשימה א. ייצוג הרשימה

פרק רשימה א. ייצוג הרשימה - 255-9 פרק רשימה לינארי אוסף בפרקים הקודמים הכרנו שני סוגי אוספים כלליים, מחסנית ותור. ראינו כי ההבדל ביניהם הוא בנוהל ההכנסה וההוצאה של האיברים: במחסנית האיברים הוכנסו והוצאו מצד אחד בלבד של המחסנית

More information

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי( בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"א, 2011 מועד הבחינה: משרד החינוך 016117 מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת א. משך הבחינה: שעה וחצי שאלון

More information

מדעי המחשב ב' פתרון בחינת הבגרות. שאלה 1 i - false

מדעי המחשב ב' פתרון בחינת הבגרות. שאלה 1 i - false ב' פתרון בחינת הבגרות פרק א - שאלה i - false א. (F and T) and T = F ( 0 * ) * ) = 0 ii - true (T and F) OR ( F OR T) = T ( * 0 ) + (0 + ) = 0 + = iii - true (T and F) OR (( T AND T) AND T) = T ( * 0 )

More information

2007 Zindell Technologies, Ltd.

2007 Zindell Technologies, Ltd. 1 הורשה )Inheritance( הקדמה Derivation Syntax אופן הגדרתה של מחלקה שיורשת מאחרת - משמעות ההורשה - Effects Inheritance הרשאות הגישה Modifiers Access הגדרתן מחדש של מתודות שהגיעו בהורשה - Methods Overriding

More information

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית. בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. א. משך הבחינה: שעה ורבע מועד הבחינה: חורף תשס"ז, 2007 מספר השאלון: 406 016107, א נ ג ל י

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. קיץ תשע"ד, מועד ב, 2014 מועד הבחינה: מספר השאלון: 416 016117, Thinking Skills נספח: כישורי

More information

מדעי המחשב מעבר על הרשימה למציאת המקום המתאים לאיבר. החזרת ה- value של ההפניה למינימום. הנחה: הרשימה לא ריקה.

מדעי המחשב מעבר על הרשימה למציאת המקום המתאים לאיבר. החזרת ה- value של ההפניה למינימום. הנחה: הרשימה לא ריקה. מדעי המחשב ב' פרק - ראשון מבני נתונים שאלה א. ייצוג: 1 O(n) פעולות הוספה ו-האם-קיים ב- O(n) פעולות הצג-מינימום ו- הוצא-מקסימום ב- (1)O רשימה דו-כיוונית ממוינת )בסדר עולה או יורד( )בגודל n( הפנייה לאיבר

More information

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary בגרות סוג הבחינה: מדינת ישראל קיץ תשע"ז, 2017, מועד ב מועד הבחינה: משרד החינוך 403 016104, מספר השאלון: אנגלית שאלון ג' (MODULE C) ג רסה א' הוראות לנבחן א. משך הבחינה: שעה וחצי ב. מבנה השאלון ומפתח ההערכה:

More information

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ תור,מחסנית פולינה לוצקר וערימה מבני נתונים ואלגוריתמים מנהלות מרצה הקורס: פרופסור יורם לוזון פולינה מתרגלת: לוצקר אימייל: polinalutbiu@gmail.com, שעות קבלה: 13:00-15:00 יום שני בתיאום מראש. אתר הקורס:

More information

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx 1 ברק גונן עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx לעיתים נרצה שהתוכנית תבצע פקודות רק אם מתקיים תנאי מוגדר

More information

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב בינה מלאכותית ומהפיכת הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב מעבדות -אתמול ד"ר קובי גל מעבדות -היום ד"ר קובי גל למידה בקבוצות -אתמול ד"ר קובי גל למידה בקבוצות -היום ד"ר קובי גל הזדמנות

More information

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names. Advisor Copy Before we begin, I would like to highlight a few points: Goal: 1. It is VERY IMPORTANT for you as an educator to put your effort in and prepare this session well. If you don t prepare, it

More information

Structural Vs. Nominal Typing

Structural Vs. Nominal Typing שפות תכנות 234319 פרופ' יוסי גיל הפקולטה למדעי המחשב, הטכניון מכון טכנולוגי לישראל קיץ 2013 הרצאה מס' 6: טיפוסיות שמית ומבנית רשמה: איריס קלקה kalka.iris@gmail.com בשלב זה בקורס אנו עוסקים בתורת הטיפוסים.

More information

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך.

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר ארגון המחשב ושפת סף אשר נכתב עי ברק גונן לתוכנית גבהים של משרד החינוך. מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך. הקדמה בסדרת המאמרים הקרובה, אנחנו הולכים ללמוד על השפה אסמבלי, על השימוש בה

More information

תכנות בטוח חלק ב ' מאת עידו קנר

תכנות בטוח חלק ב ' מאת עידו קנר תכנות בטוח חלק ב' מאת עידו קנר הקדמה מאמר זה הינו חלק ההמשך של המאמר העוסק בנושא "התכנות הבטוח" אשר פורסם בגליון השביעי של.Digital Whisper בחלק הקודם הצגתי מקרים מאוד פשוטים וברורים אודות כמה מגישות בתכנות

More information

יחידה ארגון המחשב ושפת סף: שאלות תרגול

יחידה ארגון המחשב ושפת סף: שאלות תרגול פרק א יחידה 711998 ארגון המחשב ושפת סף: שאלות תרגול 1. נתון המספר השלילי 0eah )בגודל בית(, בייצוג משלים ל- 2. איזה מהמספרים הבאים הוא ערכו בעשרוני? א. -21 ב. -22 ג. -22 ד. -222 2. נתון המספר השלילי 0edh

More information

בהצלחה מועד א אנא קראו היטב את ההוראות שלהלן: תאריך המבחן: 9/7/2017 המרצים: ד"ר צחי רוזן מר דן בורנשטיין מר ניר גלעד

בהצלחה מועד א אנא קראו היטב את ההוראות שלהלן: תאריך המבחן: 9/7/2017 המרצים: דר צחי רוזן מר דן בורנשטיין מר ניר גלעד תאריך המבחן: 9/7/2017 המרצים: ד"ר צחי רוזן מר דן בורנשטיין מר ניר גלעד מועד א אנא קראו היטב את ההוראות שלהלן: שם הקורס: מבוא למדעי המחשב מספר הקורס: 202-1-1011 שנה: 2017 סמסטר: ב מועד: א משך המבחן: שלוש

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ו, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

תרגול 11 תור עץ חיפוש בינארי

תרגול 11 תור עץ חיפוש בינארי 2018 מבוא למדעי המחשב תרגול 11 תור עץ חיפוש בינארי ראינו בהרצאות מבני נתונים נוספים עצים בינאריים עצי חיפוש בינאריים תור מחסנית נראה בתרגול מבני נתונים חדשים תור ממשק + מימוש + שאלה עץ חיפוש בינארי תזכורת

More information

TAKE ACTION. Unit1. Part A. Pre-Reading Before page 8. A Match each letter to the two letters that follow it in the alphabetical order.

TAKE ACTION. Unit1. Part A. Pre-Reading Before page 8. A Match each letter to the two letters that follow it in the alphabetical order. TAKE ACTION Unit1 Part A Pre-Reading Before page 8 A Match each letter to the two letters that follow it in the alphabetical order. התאימו כל אות לשתי האותיות שעוקבות אחריה בסדר ה- ABC. תוכלו להיעזר באותיות

More information

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of Name Page 1 of 6 ***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times.בל 'נ marked, using the contact info above by Sunday, December 25, 2016 and we ll send it

More information

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

Expressions (ex 8) Wild World (ex 7) Cars (ex 9) תר גול שי עור י ב ית 12 חזרה ע ל שא לו ת חשו בו ת מ שי ע ורי הבי ת ת וכנה 1 ס מ ס טר א' תשס"ז 1 סט ודנט י ם יקרים, אנא הקדישו מעט מזמנכם היקר ומלאו את סקר ההוראה. הסקר חשוב מאד כפידבק למרצים ולמתרגלים,

More information

חומר עזר בשימוש: הכל )ספרים ומחברות( קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( 2 שאלות )בחירה מ - 4( סה"כ 50 נקודות

חומר עזר בשימוש: הכל )ספרים ומחברות( קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( 2 שאלות )בחירה מ - 4( סהכ 50 נקודות פרטים כלליים מועד הבחינה: מספר השאלון: משך הבחינה: בכל זמן 1 3 שעות מבחן 009 חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון פרק

More information

מבני נתונים תרגיל 4 פתרון

מבני נתונים תרגיל 4 פתרון מבני נתונים תרגיל 4 פתרון גלעד אשרוב 2 ביוני 2014 תרגיל 1. לסעיפים הבאים, כתבו אלגוריתמים הכי יעילים (אסימפטוטית) למשימה, והסבירו מדוע לא ניתן לבנות אלגוריתם יעיל יותר: 1. כתבו אלגוריתם המקבל כקלט עץ בינארי,

More information

בחינת בגרות, תשע"ז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן

בחינת בגרות, תשעז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן מדעי המחשב פרק ראשון Jv שאלה 1 C# עמוד 1 Jv שאלה 2 C# עמוד 2 שאלה 3 1 2 3 5 7 11 13 3 א. הפלט עבור = 15 n עמוד מטרת הפעולה: הכברה של ארתוסטנס חישוב והדפסת כל המספרים הראשוניים עד n. )כברה = מסננת( )הפעולה

More information

- 4.3 נמצא ברשימה? הוראת מדעי המחשב, אוניברסיטת תל-אביב

- 4.3 נמצא ברשימה? הוראת מדעי המחשב, אוניברסיטת תל-אביב 4. התבניות שבמחלקה תבניות בניה - 4.1 בניה של רשימה - 4.2 שרשור רשימות תבניות סריקה - 4.3 נמצא ברשימה? - 4.4 מקום ברשימה - 4.5 מחיקת איברים מרשימה עבודה עם ס מ ן - 4.6 העברות ברשימה - 4.7 היפוך רשימה -

More information

דוגמה 1: הדרקון המשתנה שינוי גודל דמות

דוגמה 1: הדרקון המשתנה שינוי גודל דמות בפרק זה ניצור משחק מחשב פשוט ובסיסי. דרכו נכיר מנגנון שימושי של Scratch שמאפשר לנו לזכור ולעדכן ערכים, כגון מספר נקודות צבורות לשחקן, ולהציגם לצופים או לשחקנים. דוגמה 1: הדרקון המשתנה שינוי גודל דמות כרגיל,

More information

בהצלחה! משך הבחינה: מבוא למדעי המחשב ד"ר פז כרמי פרופ' מייק קודיש ד"ר חן קיסר ד"ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

בהצלחה! משך הבחינה: מבוא למדעי המחשב דר פז כרמי פרופ' מייק קודיש דר חן קיסר דר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס: מבוא למדעי המחשב 202-1-1011 תאריך הבחינה: שמות המרצים: 16.3.2011 מר שי זקוב ד"ר פז כרמי פרופ' מייק קודיש ד"ר חן קיסר ד"ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס: שנה: 202-1-1011 2011 משך הבחינה:

More information

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. קיץ תשע"ד, מועד ב, 2014 מועד הבחינה: מספר השאלון: 414 016115, Thinking Skills נספח: כישורי

More information

מדריך למשתמש התקנה עצמית

מדריך למשתמש התקנה עצמית 256 מדריך למשתמש התקנה עצמית תכולת הערכה 1 1 מחבר חשמלי 1 כבל,DSL עבור חיבור לשקע DSL 1 כבל רשת שקע עבור חיבור עבור למחשב חיבור למחש 1 נתב 2 שלב א' חיבור לחשמל וחיווי נוריות חיבור לחשמל חבר את כבל החשמל

More information

Apple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball

Apple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball PRONOUNS: טריגר/ משחק פתיחה- המורה תביא לכיתה חפצים שונים ותראה אותם לכמה שניות לתלמידים ותכסה את החפצים. המורה תבקש מהתלמידים לשחזר את החפצים על פי זיכרון ותרשום את שמם על הלוח )מה שלא זכרו אח"כ המורה

More information

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G) 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016582 מספר השאלון: א. משך הבחינה: שעה וארבעים וחמש דקות אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה:

More information

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

מספר תז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה. עמוד 1 עמוד 1 מתוך 11, בחינה בתוכנה 1 מספר סידורי: מספר ת"ז: סמסטר א' תשע"ז, מועד א', 11 בפברואר 117 ליאור וולף, תומר עזרא, לנה דנקין משך הבחינה שלוש שעות יש להניח שהקוד שמופיע במבחן מתאים לגירסה 7 של

More information

עבודה מס' 3: תכנות מונחה עצמים ורשימות

עבודה מס' 3: תכנות מונחה עצמים ורשימות עבודה מס' 3: תכנות מונחה עצמים ורשימות מתרגל אחראי: אבי יצחקוב תאריך פרסום העבודה: 05.01.16 מועד אחרון להגשה: 22.01.16 בעבודה זו תממשו סוכן נסיעות ממוחשב תוך שימוש בעקרונות של תכנות מונחה עצמים ורשימות.

More information